package wechat.app.bean.card.info;

import java.util.Date;

/**
 * Created by Administrator on 2016/4/5.
 */
public class CardDateInfo {
    public enum Type {DATE_TYPE_FIX_TIME_RANGE, DATE_TYPE_FIX_TERM}

    //使用时间的类型，旧文档采用的1和2依然生效。
    public Type type;
    //type为DATE_TYPE_FIX_TIME_RANGE时专用，表示起用时间。从1970年1月1日00:00:00至起用时间的秒数，最终需转换为字符串形态传入。（东八区时间，单位为秒）
    public String begin_timestamp;
    //type为DATE_TYPE_FIX_TIME_RANGE时，表示卡券统一的结束时间，建议设置为截止日期的23:59:59过期。（东八区时间，单位为秒）
    public String end_timestamp;

    //type为DATE_TYPE_FIX_TERM时专用，表示自领取后多少天内有效，不支持填写0。
    public int fixed_term;
    //type为DATE_TYPE_FIX_TERM时专用，表示自领取后多少天开始生效，领取后当天生效填写0。（单位为天）
    public int fixed_begin_term;


    public CardDateInfo(Type type, Date begin_timestamp, Date end_timestamp) {
        this.type = type;
        switch (type){
            case DATE_TYPE_FIX_TERM:{
               return;
            }
            case DATE_TYPE_FIX_TIME_RANGE:{
                this.begin_timestamp = String.valueOf(begin_timestamp.getTime()/1000);
                this.end_timestamp =  String.valueOf(end_timestamp.getTime()/1000);
            }
        }

    }

    public CardDateInfo(Type type, int fixed_term,int fixed_begin_term, Date end_timestamp) {
        this.type = type;
        switch (type){
            case DATE_TYPE_FIX_TERM:{
                this.fixed_term = fixed_term;
                this.fixed_begin_term = fixed_begin_term;
                this.end_timestamp =  String.valueOf(end_timestamp.getTime()/1000);
            }
            case DATE_TYPE_FIX_TIME_RANGE:{
                return;
            }
        }

    }

}
